<html>
<head><meta charset="utf-8"><title>sync 2019.04.10 · t-compiler/wg-parallel-rustc · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/index.html">t-compiler/wg-parallel-rustc</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html">sync 2019.04.10</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="162947010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/162947010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#162947010">(Apr 09 2019 at 20:29)</a>:</h4>
<p>BTW, <span class="user-mention" data-user-id="124287">@mw</span> and I were talking about trying to sync up tomorrow (2019.04.10) at 10am UTC-04:00 a bit just to kind of sketch out a "roadmap" for parallel compilation. But maybe it makes more sense to schedule that meeting more actively, so that e.g. <span class="user-mention" data-user-id="116466">@Zoxc</span> can attend? I'm interested in trying to get a better feeling for the steps and requirements here -- specifically not just looking at coding, but also at testing and the like. I'm specifically interested in trying to recruit some folks to help drive the process forward and relieve <span class="user-mention" data-user-id="116466">@Zoxc</span> a bit (I think <span class="user-mention" data-user-id="124287">@mw</span> is overburdened), and I'd like to get a better idea what we think those people would have to do.</p>



<a name="163004281"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004281" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004281">(Apr 10 2019 at 13:31)</a>:</h4>
<p>posting some things here for reference:</p>



<a name="163004348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004348">(Apr 10 2019 at 13:32)</a>:</h4>
<p><span class="user-mention" data-user-id="116466">@Zoxc</span> did a recent test of the parallel compiler on perf.rlo: <a href="https://github.com/rust-lang/rust/pull/59530" target="_blank" title="https://github.com/rust-lang/rust/pull/59530">https://github.com/rust-lang/rust/pull/59530</a></p>



<a name="163004418"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004418" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004418">(Apr 10 2019 at 13:33)</a>:</h4>
<p>these are the numbers with 8 threads and jobserver integration disabled: <a href="https://perf.rust-lang.org/compare.html?start=7641873f591dca86e2b31f60fc76b39553892631&amp;end=eafa54e32a3ec69221700503f21cb456de859f9e&amp;stat=wall-time" target="_blank" title="https://perf.rust-lang.org/compare.html?start=7641873f591dca86e2b31f60fc76b39553892631&amp;end=eafa54e32a3ec69221700503f21cb456de859f9e&amp;stat=wall-time">https://perf.rust-lang.org/compare.html?start=7641873f591dca86e2b31f60fc76b39553892631&amp;end=eafa54e32a3ec69221700503f21cb456de859f9e&amp;stat=wall-time</a></p>



<a name="163004533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004533">(Apr 10 2019 at 13:34)</a>:</h4>
<p>these are the numbers with 8 threads and jobserver integration enabled: <a href="https://perf.rust-lang.org/compare.html?start=2002b4b39a16760f37107cf02d7a91ff316d3073&amp;end=e1f9d0488d052f77315c033b3b8bf47a4d8fdb11&amp;stat=wall-time" target="_blank" title="https://perf.rust-lang.org/compare.html?start=2002b4b39a16760f37107cf02d7a91ff316d3073&amp;end=e1f9d0488d052f77315c033b3b8bf47a4d8fdb11&amp;stat=wall-time">https://perf.rust-lang.org/compare.html?start=2002b4b39a16760f37107cf02d7a91ff316d3073&amp;end=e1f9d0488d052f77315c033b3b8bf47a4d8fdb11&amp;stat=wall-time</a></p>



<a name="163004540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004540">(Apr 10 2019 at 13:34)</a>:</h4>
<p>(correct me if I'm wrong)</p>



<a name="163004604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004604">(Apr 10 2019 at 13:35)</a>:</h4>
<p>jobserver integration seems to have some problems still, as some crates show bad regressions</p>



<a name="163004711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004711">(Apr 10 2019 at 13:36)</a>:</h4>
<p>I don't know if we have numbers for 1 thread anywhere</p>



<a name="163004763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004763">(Apr 10 2019 at 13:37)</a>:</h4>
<p>although here are some numbers from local test runs that <span class="user-mention" data-user-id="116466">@Zoxc</span> did (which include the 1 thread case):</p>



<a name="163004787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004787">(Apr 10 2019 at 13:37)</a>:</h4>
<p><code>./x.py build</code>: <a href="https://github.com/rust-lang/rust/pull/59530#issuecomment-481557551" target="_blank" title="https://github.com/rust-lang/rust/pull/59530#issuecomment-481557551">https://github.com/rust-lang/rust/pull/59530#issuecomment-481557551</a></p>



<a name="163004816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163004816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163004816">(Apr 10 2019 at 13:37)</a>:</h4>
<p><code>./x.py check</code>: <a href="https://github.com/rust-lang/rust/pull/59530#issuecomment-481562350" target="_blank" title="https://github.com/rust-lang/rust/pull/59530#issuecomment-481562350">https://github.com/rust-lang/rust/pull/59530#issuecomment-481562350</a></p>



<a name="163005440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163005440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163005440">(Apr 10 2019 at 13:44)</a>:</h4>
<p>Great-- <span class="user-mention" data-user-id="124287">@mw</span> btw I might be ~10-15 minutes late (but maybe not)</p>



<a name="163005450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163005450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163005450">(Apr 10 2019 at 13:44)</a>:</h4>
<p>I'm running a bit behind today but I'm going to try and get into the office</p>



<a name="163005687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163005687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163005687">(Apr 10 2019 at 13:47)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/59804" target="_blank" title="https://github.com/rust-lang/rust/pull/59804">https://github.com/rust-lang/rust/pull/59804</a> fixes the jobserver regression</p>



<a name="163005752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163005752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163005752">(Apr 10 2019 at 13:48)</a>:</h4>
<p>Those local times are with that fix applied</p>



<a name="163006019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163006019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163006019">(Apr 10 2019 at 13:51)</a>:</h4>
<p>That's great to hear, <span class="user-mention" data-user-id="116466">@Zoxc</span>!</p>



<a name="163006042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163006042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163006042">(Apr 10 2019 at 13:52)</a>:</h4>
<p>So this would be perf.rlo numbers with 8 threads and the fix: <a href="https://perf.rust-lang.org/compare.html?start=e1f9d0488d052f77315c033b3b8bf47a4d8fdb11&amp;end=29efa193a1a6b5480ece517b29cc2a2ad035aa25&amp;stat=wall-time" target="_blank" title="https://perf.rust-lang.org/compare.html?start=e1f9d0488d052f77315c033b3b8bf47a4d8fdb11&amp;end=29efa193a1a6b5480ece517b29cc2a2ad035aa25&amp;stat=wall-time">https://perf.rust-lang.org/compare.html?start=e1f9d0488d052f77315c033b3b8bf47a4d8fdb11&amp;end=29efa193a1a6b5480ece517b29cc2a2ad035aa25&amp;stat=wall-time</a> ?</p>



<a name="163006116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163006116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163006116">(Apr 10 2019 at 13:52)</a>:</h4>
<p>or this? <a href="https://perf.rust-lang.org/compare.html?start=3750348daff89741e3153e0e120aa70a45ff5b68&amp;end=29efa193a1a6b5480ece517b29cc2a2ad035aa25&amp;stat=wall-time" target="_blank" title="https://perf.rust-lang.org/compare.html?start=3750348daff89741e3153e0e120aa70a45ff5b68&amp;end=29efa193a1a6b5480ece517b29cc2a2ad035aa25&amp;stat=wall-time">https://perf.rust-lang.org/compare.html?start=3750348daff89741e3153e0e120aa70a45ff5b68&amp;end=29efa193a1a6b5480ece517b29cc2a2ad035aa25&amp;stat=wall-time</a></p>



<a name="163006174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163006174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163006174">(Apr 10 2019 at 13:53)</a>:</h4>
<p>yeah, the second one should the comparison against master</p>



<a name="163007207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007207">(Apr 10 2019 at 14:05)</a>:</h4>
<p><span class="user-mention" data-user-id="116466">@Zoxc</span>, we don't have a complete perf.rlo run for 1 thread with the fix applied, do we?</p>



<a name="163007371"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007371" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007371">(Apr 10 2019 at 14:07)</a>:</h4>
<p>No. We can do one to see if it triggered, but it may not have</p>



<a name="163007424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007424">(Apr 10 2019 at 14:07)</a>:</h4>
<p>What do you mean by "triggered"?</p>



<a name="163007551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007551">(Apr 10 2019 at 14:09)</a>:</h4>
<p>As in affected performance when using 1 thread</p>



<a name="163007561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007561">(Apr 10 2019 at 14:09)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/pull/59693" target="_blank" title="https://github.com/rust-lang/rust/pull/59693">https://github.com/rust-lang/rust/pull/59693</a> should be helpful too for perf, as it avoids lots of locks</p>



<a name="163007881"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007881" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007881">(Apr 10 2019 at 14:13)</a>:</h4>
<p>(I'm here now)</p>



<a name="163007888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007888">(Apr 10 2019 at 14:13)</a>:</h4>
<p>catching up</p>



<a name="163007898"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007898" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007898">(Apr 10 2019 at 14:13)</a>:</h4>
<p>alright</p>



<a name="163007997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163007997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163007997">(Apr 10 2019 at 14:14)</a>:</h4>
<p>maybe we should start by establishing our goals :)</p>



<a name="163008003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008003">(Apr 10 2019 at 14:14)</a>:</h4>
<p>i.e., for this discussion</p>



<a name="163008010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008010">(Apr 10 2019 at 14:14)</a>:</h4>
<p>I think the main question I'm interested in is: How can we make parallel the default asap, in a responsible way</p>



<a name="163008044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008044">(Apr 10 2019 at 14:15)</a>:</h4>
<p>yes, that sounds good, and to dig a bit deeper in</p>



<a name="163008049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008049">(Apr 10 2019 at 14:15)</a>:</h4>
<p>what are some of the milestones along that way</p>



<a name="163008059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008059">(Apr 10 2019 at 14:15)</a>:</h4>
<p>what kind of testing do we think we need</p>



<a name="163008159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008159">(Apr 10 2019 at 14:16)</a>:</h4>
<p>so one approach would be to just switch it on for nightly in the next cycle, if the expected regressions are not too big</p>



<a name="163008168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008168">(Apr 10 2019 at 14:16)</a>:</h4>
<p>and if there are no other blockers</p>



<a name="163008193"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008193" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008193">(Apr 10 2019 at 14:16)</a>:</h4>
<p>that would get us some testing via the standard test suite</p>



<a name="163008203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008203">(Apr 10 2019 at 14:16)</a>:</h4>
<p>and lots of in the field testing</p>



<a name="163008209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008209">(Apr 10 2019 at 14:16)</a>:</h4>
<p>ok so let's as the question that <span class="user-mention" data-user-id="116015">@Alex Crichton</span> was asking:</p>
<p>Can we enable the infrastructure but only use one thread?</p>



<a name="163008220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008220">(Apr 10 2019 at 14:17)</a>:</h4>
<p>Or would we rather just do it <em>with</em> parallelism</p>



<a name="163008240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008240">(Apr 10 2019 at 14:17)</a>:</h4>
<p>I guess the concerns are two-fold:</p>
<ul>
<li>correctness </li>
<li>performance</li>
</ul>



<a name="163008259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008259">(Apr 10 2019 at 14:17)</a>:</h4>
<p>if the jobserver works, I think it would be better to do with N threads</p>



<a name="163008261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008261">(Apr 10 2019 at 14:17)</a>:</h4>
<p>I think if we are going to enable it with parallelism, that's a good idea, but we should trumpet it, and try to make it an official feedback period</p>



<a name="163008264"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008264" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008264">(Apr 10 2019 at 14:17)</a>:</h4>
<p>I'd say do it with parallelism, just 1 thread won't give us anything useful</p>



<a name="163008265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008265">(Apr 10 2019 at 14:17)</a>:</h4>
<p>so we get more correctness testing</p>



<a name="163008277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008277">(Apr 10 2019 at 14:17)</a>:</h4>
<p>e.g. I imagine something like this</p>



<a name="163008284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008284">(Apr 10 2019 at 14:17)</a>:</h4>
<p>we turn it on just after beta is cut</p>



<a name="163008292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008292">(Apr 10 2019 at 14:17)</a>:</h4>
<p>we post a blog post</p>



<a name="163008324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008324">(Apr 10 2019 at 14:18)</a>:</h4>
<p>we encourage people to try it out for 3 weeks</p>



<a name="163008350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008350">(Apr 10 2019 at 14:18)</a>:</h4>
<p>reporting bugs, etc</p>



<a name="163008360"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008360" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008360">(Apr 10 2019 at 14:18)</a>:</h4>
<p>and then at the end of those 3 weeks, we have some criteria that we can use to decide if we want to just leave it on</p>



<a name="163008386"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008386" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008386">(Apr 10 2019 at 14:18)</a>:</h4>
<p>I think it woul be something like this: no correctness bugs (that we don't have a fix for), no perf regression of &gt;N%?</p>



<a name="163008446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008446">(Apr 10 2019 at 14:19)</a>:</h4>
<p>one question: would people have a way to opt out?</p>



<a name="163008462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008462">(Apr 10 2019 at 14:19)</a>:</h4>
<p>other than sticking to an older nightly</p>



<a name="163008465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008465">(Apr 10 2019 at 14:19)</a>:</h4>
<p>I would presume they could use some env var to fix to 1 thread</p>



<a name="163008475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008475">(Apr 10 2019 at 14:19)</a>:</h4>
<p>but that's a good point</p>



<a name="163008481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008481">(Apr 10 2019 at 14:20)</a>:</h4>
<p>we definitely want some way to opt out</p>



<a name="163008540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008540">(Apr 10 2019 at 14:20)</a>:</h4>
<p>(in case of horrible bugs)</p>



<a name="163008566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008566">(Apr 10 2019 at 14:20)</a>:</h4>
<p>Do we think we would need a stronger opt out that 1 thread?</p>



<a name="163008570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008570">(Apr 10 2019 at 14:20)</a>:</h4>
<p>switching to 1 thread is a semi-opt-out :)</p>



<a name="163008577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008577">(Apr 10 2019 at 14:20)</a>:</h4>
<p><code>-Z thread=1</code> should pretty much catch all horrible bugs</p>



<a name="163008590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008590">(Apr 10 2019 at 14:20)</a>:</h4>
<p>Yeah, I know. But I think it's strong enough, unless you have an argument why it wouldn't be</p>



<a name="163008600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008600">(Apr 10 2019 at 14:20)</a>:</h4>
<p>I mean there is always the "old nightly" opt out</p>



<a name="163008632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008632">(Apr 10 2019 at 14:21)</a>:</h4>
<p>we do have the option to switch back to non-parallel quickly if there is something horrible not fixed by 1 thread</p>



<a name="163008654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008654">(Apr 10 2019 at 14:21)</a>:</h4>
<p>FWIW my thinking was to roll this out gradually so roll out a default of <code>-Z threads=1</code> first on nightly, and only after that goes well switch the defaults to parallel-by-default</p>



<a name="163008669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008669">(Apr 10 2019 at 14:21)</a>:</h4>
<p>I was thinking we wouldn't want to roll out parallel-by-default all of a sudden (even if we're confident in it)</p>



<a name="163008715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008715">(Apr 10 2019 at 14:22)</a>:</h4>
<p>So there is an alternative</p>



<a name="163008728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008728">(Apr 10 2019 at 14:22)</a>:</h4>
<p>which is that we roll out with a default of 1 thread, and we encourage people to <strong>opt in</strong> to parallelism</p>



<a name="163008736"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008736" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008736">(Apr 10 2019 at 14:22)</a>:</h4>
<p>That's the more conservative approach</p>



<a name="163008742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008742">(Apr 10 2019 at 14:22)</a>:</h4>
<p>right yeah, and that'd give a brief period for the more intrepid to give feedback</p>



<a name="163008745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008745">(Apr 10 2019 at 14:22)</a>:</h4>
<p>The downside is that people pay the price for parallel support</p>



<a name="163008746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008746">(Apr 10 2019 at 14:22)</a>:</h4>
<p>sounds good too</p>



<a name="163008752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008752">(Apr 10 2019 at 14:22)</a>:</h4>
<p>But the upside is that we don't break anyone</p>



<a name="163008755"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008755" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008755">(Apr 10 2019 at 14:22)</a>:</h4>
<p>and we can <strong>still</strong> trumpet it</p>



<a name="163008768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008768">(Apr 10 2019 at 14:22)</a>:</h4>
<p>I was hoping that the price of parallel support would be pretty small</p>



<a name="163008771"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008771" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008771">(Apr 10 2019 at 14:22)</a>:</h4>
<p>i.e., so they know <em>why</em> they are paying that price</p>



<a name="163008772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008772">(Apr 10 2019 at 14:22)</a>:</h4>
<p>yes, the new default would be slower</p>



<a name="163008790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008790">(Apr 10 2019 at 14:23)</a>:</h4>
<p>if it's like 2-3% slower I think that's fine b/c we'd quickly recover it later</p>



<a name="163008806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008806">(Apr 10 2019 at 14:23)</a>:</h4>
<p>but measurements were showing up to 20% slower</p>



<a name="163008812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008812">(Apr 10 2019 at 14:23)</a>:</h4>
<p>and 10% for bigger crates</p>



<a name="163008823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008823">(Apr 10 2019 at 14:23)</a>:</h4>
<p>although I think <span class="user-mention" data-user-id="116466">@Zoxc</span> you were looking into some ways to make those areas faster?</p>



<a name="163008844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008844">(Apr 10 2019 at 14:23)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> by trumpet do you mean like an internals post or more broad?</p>



<a name="163008851"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008851" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008851">(Apr 10 2019 at 14:23)</a>:</h4>
<p>Basically there are three options:</p>
<ul>
<li>enable support for parallelism (but use only 1 thread) quietly</li>
<li>enable support for parallelism (but use only 1 thread) loudly, asking people to opt-in</li>
<li>enable parallelism and use &gt;1 threads loudly, asking people to opt-out</li>
<li>enable parallelism and use &gt;1 threads quietly</li>
</ul>



<a name="163008858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008858">(Apr 10 2019 at 14:23)</a>:</h4>
<p>I think the middle 2 are obviously better</p>



<a name="163008913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008913">(Apr 10 2019 at 14:24)</a>:</h4>
<p><span class="user-mention" data-user-id="116015">@Alex Crichton</span>  There's 2 PR open that might help. I'll open another too</p>



<a name="163008915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008915">(Apr 10 2019 at 14:24)</a>:</h4>
<blockquote>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> by trumpet do you mean like an internals post or more broad?</p>
</blockquote>
<p>not clear, at minimum an internals post</p>



<a name="163008941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008941">(Apr 10 2019 at 14:24)</a>:</h4>
<p>kk, makes sense, agreed that being loud is good here</p>



<a name="163008944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008944">(Apr 10 2019 at 14:24)</a>:</h4>
<p>I feel like it wouldn't be out of the question to write a <a href="http://blog.rust-lang.org" target="_blank" title="http://blog.rust-lang.org">blog.rust-lang.org</a> post</p>



<a name="163008949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008949">(Apr 10 2019 at 14:24)</a>:</h4>
<p>this is a pretty big deal imo</p>



<a name="163008955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008955">(Apr 10 2019 at 14:24)</a>:</h4>
<p>I'd save that for "parallel is on by default"</p>



<a name="163008968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008968">(Apr 10 2019 at 14:24)</a>:</h4>
<p>personally, I don't see why we can't write two posts :)</p>



<a name="163008969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008969">(Apr 10 2019 at 14:24)</a>:</h4>
<p>yeah</p>



<a name="163008994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008994">(Apr 10 2019 at 14:25)</a>:</h4>
<p>lol true</p>



<a name="163008997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163008997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163008997">(Apr 10 2019 at 14:25)</a>:</h4>
<p>maybe a short one now like:</p>
<p>Parallel experimentation period!</p>
<p>then another one like</p>
<p>Parllel on by default!</p>



<a name="163009001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009001">(Apr 10 2019 at 14:25)</a>:</h4>
<p>the latter would have more numbers etc</p>



<a name="163009007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009007">(Apr 10 2019 at 14:25)</a>:</h4>
<p>We probably want to be a bit careful in our framing</p>



<a name="163009012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009012">(Apr 10 2019 at 14:25)</a>:</h4>
<p>I have nothing against that :)</p>



<a name="163009022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009022">(Apr 10 2019 at 14:25)</a>:</h4>
<p>i.e., maybe we say that we expect to turn it off again</p>



<a name="163009026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009026">(Apr 10 2019 at 14:25)</a>:</h4>
<p>so it's more like "check out what's coming"</p>



<a name="163009040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009040">(Apr 10 2019 at 14:25)</a>:</h4>
<p>sounds acceptable to me</p>



<a name="163009048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009048">(Apr 10 2019 at 14:25)</a>:</h4>
<p>basically I think we should be clear that it is not a failure if we find a bunch of bugs and turn it off :)</p>



<a name="163009094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009094">(Apr 10 2019 at 14:26)</a>:</h4>
<p>but just "progress"</p>



<a name="163009114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009114">(Apr 10 2019 at 14:26)</a>:</h4>
<p>anyway, we can discuss with core team tongiht, <span class="user-mention" data-user-id="116015">@Alex Crichton</span>, re: blog post vs internals</p>



<a name="163009131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009131">(Apr 10 2019 at 14:26)</a>:</h4>
<p>oh no debate from me, I'd consider either fine</p>



<a name="163009132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009132">(Apr 10 2019 at 14:26)</a>:</h4>
<p>I just happen to think (a) we underuse the blog and (b) we need people to know about compile time progress</p>



<a name="163009142"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009142" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009142">(Apr 10 2019 at 14:26)</a>:</h4>
<p>agreed :)</p>



<a name="163009178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009178">(Apr 10 2019 at 14:27)</a>:</h4>
<p>so, when would we want to target this? the next release is very soon (this week?)</p>



<a name="163009198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009198">(Apr 10 2019 at 14:27)</a>:</h4>
<p>this conversation is turning out a bit differently than I expected</p>



<a name="163009200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009200">(Apr 10 2019 at 14:27)</a>:</h4>
<p>so let me ask a different question</p>



<a name="163009212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009212">(Apr 10 2019 at 14:27)</a>:</h4>
<blockquote>
<p>so, when would we want to target this? the next release is very soon (this week?)</p>
</blockquote>



<a name="163009216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009216">(Apr 10 2019 at 14:27)</a>:</h4>
<p>tomorrow!</p>



<a name="163009217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009217">(Apr 10 2019 at 14:27)</a>:</h4>
<p>what are the dependencies we feel we need to do this middle path</p>



<a name="163009232"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009232" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009232">(Apr 10 2019 at 14:28)</a>:</h4>
<p>obviously there were some PRs that have to land</p>



<a name="163009284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009284">(Apr 10 2019 at 14:28)</a>:</h4>
<p><span class="user-mention" data-user-id="116466">@Zoxc</span> -- you would know best, are there still known performance cases that are (say) &gt;20% perf loss?</p>



<a name="163009289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009289">(Apr 10 2019 at 14:28)</a>:</h4>
<p>(once those PRs land)</p>



<a name="163009293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009293">(Apr 10 2019 at 14:28)</a>:</h4>
<p>It sounded like <span class="user-mention" data-user-id="116466">@Zoxc</span> had a few PRs to speed up those cases</p>



<a name="163009303"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009303" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009303">(Apr 10 2019 at 14:28)</a>:</h4>
<p>and I'd imagine we'd profile afterwards to see the impact and evaluate which strategy to take</p>



<a name="163009343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009343">(Apr 10 2019 at 14:29)</a>:</h4>
<p>I don't know the impact of the PRs yet</p>



<a name="163009363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009363">(Apr 10 2019 at 14:29)</a>:</h4>
<p>so maybe we should set some thresholds</p>



<a name="163009372"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009372" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009372">(Apr 10 2019 at 14:29)</a>:</h4>
<p>If we start with thread=1, when will we escalate to multiple threads?</p>



<a name="163009382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009382">(Apr 10 2019 at 14:29)</a>:</h4>
<p>and basically we try to do this on the next release after those thresholds are met?</p>



<a name="163009383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009383">(Apr 10 2019 at 14:29)</a>:</h4>
<p>another question: would this affect other users of librustc much (rustdoc, RLS, etc)</p>



<a name="163009466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009466">(Apr 10 2019 at 14:30)</a>:</h4>
<p>I would naively propose that if a big crate regresses more than 5% we shouldn't release it</p>



<a name="163009479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009479">(Apr 10 2019 at 14:30)</a>:</h4>
<p>but little crates regressing 10-20% is fine</p>



<a name="163009495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009495">(Apr 10 2019 at 14:30)</a>:</h4>
<p>sounds reasonable</p>



<a name="163009546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009546">(Apr 10 2019 at 14:31)</a>:</h4>
<p>Another way to put it would be something like: regressions are ok if they are &lt;5% OR &lt;.1 sec or something</p>



<a name="163009567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009567">(Apr 10 2019 at 14:31)</a>:</h4>
<p>(so it is independent of crate size)</p>



<a name="163009605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009605">(Apr 10 2019 at 14:31)</a>:</h4>
<p>seems reasonable to me</p>



<a name="163009659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009659">(Apr 10 2019 at 14:32)</a>:</h4>
<p>everything should be &lt;5% or &lt;5s</p>



<a name="163009672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009672">(Apr 10 2019 at 14:32)</a>:</h4>
<blockquote>
<p>If we start with thread=1, when will we escalate to multiple threads?</p>
</blockquote>
<p>good question -- I think this is something we would want to cover in the blog post too. i.e., what is the overall rollout plan?</p>



<a name="163009698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009698">(Apr 10 2019 at 14:32)</a>:</h4>
<p>I imagine we'd go through the stages one release at a time</p>



<a name="163009699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009699">(Apr 10 2019 at 14:32)</a>:</h4>
<p>I would naively propose "a week with no major issues"</p>



<a name="163009704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009704">(Apr 10 2019 at 14:32)</a>:</h4>
<p>presuming no show stopper problems</p>



<a name="163009715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009715">(Apr 10 2019 at 14:32)</a>:</h4>
<p>oh I don't think we need to wait a whole cycle</p>



<a name="163009719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009719">(Apr 10 2019 at 14:32)</a>:</h4>
<blockquote>
<p>I would naively propose "a week with no major issues"</p>
</blockquote>
<p>or that ;) much more aggressive than me</p>



<a name="163009723"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009723" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009723">(Apr 10 2019 at 14:32)</a>:</h4>
<p>we just want to give people time to test</p>



<a name="163009762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009762">(Apr 10 2019 at 14:33)</a>:</h4>
<p>in the sense that the purpose of "parallel capable but default not parallel" is basically asking everyone to do testing and report back</p>



<a name="163009767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009767">(Apr 10 2019 at 14:33)</a>:</h4>
<p>(aka on some internals thread)</p>



<a name="163009780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009780">(Apr 10 2019 at 14:33)</a>:</h4>
<p>1 week seems aggressive -- maybe 2 weeks? but this is a minor point. The main thing is that you imagine going from "enabled but with 1 thread" to "enabled by default" within 1 release cycle</p>



<a name="163009793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009793">(Apr 10 2019 at 14:33)</a>:</h4>
<p>barring anything major coming up yeah</p>



<a name="163009858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009858">(Apr 10 2019 at 14:34)</a>:</h4>
<p>I .. think I like it. "Anything major" being either correctness problems or perf regressions that meet those critera we outlined above?</p>



<a name="163009869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009869">(Apr 10 2019 at 14:34)</a>:</h4>
<p>yeah</p>



<a name="163009884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009884">(Apr 10 2019 at 14:34)</a>:</h4>
<p>as a general "if we feel like there's too much outcry we probably shoudln't enable it"</p>



<a name="163009891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009891">(Apr 10 2019 at 14:34)</a>:</h4>
<p>"or if our thresholds aren't met we won't enable it"</p>



<a name="163009908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009908">(Apr 10 2019 at 14:34)</a>:</h4>
<p>although I do think we should shoot for an almost universal win for parallel actually enabled by default</p>



<a name="163009917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009917">(Apr 10 2019 at 14:35)</a>:</h4>
<blockquote>
<p>as a general "if we feel like there's too much outcry we probably shoudln't enable it"</p>
</blockquote>
<p>right, ultimately it comes down to this, but I'm trying to do a bit better</p>



<a name="163009931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009931">(Apr 10 2019 at 14:35)</a>:</h4>
<p>the "&lt;5% or &lt;5s" threshold I was thinking was only for "parallel capable, single threaded"</p>



<a name="163009939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009939">(Apr 10 2019 at 14:35)</a>:</h4>
<p>even if we don't publicize those thresholds :)</p>



<a name="163009947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009947">(Apr 10 2019 at 14:35)</a>:</h4>
<p>but often it's kind of hard to judge</p>



<a name="163009950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009950">(Apr 10 2019 at 14:35)</a>:</h4>
<p>lol good point</p>



<a name="163009971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163009971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163009971">(Apr 10 2019 at 14:35)</a>:</h4>
<p>3 weeks of people satisfied there's no major correctness bugs or major regressions?</p>



<a name="163010034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010034">(Apr 10 2019 at 14:36)</a>:</h4>
<p>yes, I feel good about that</p>



<a name="163010042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010042">(Apr 10 2019 at 14:36)</a>:</h4>
<p>3 weeks and then we would test default to N threads?</p>



<a name="163010047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010047">(Apr 10 2019 at 14:36)</a>:</h4>
<p>major correctness bug being "requires more than 100 loc to fix" and major regressions being "&gt;5% runtime with parallel enabled"</p>



<a name="163010061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010061">(Apr 10 2019 at 14:36)</a>:</h4>
<blockquote>
<p>3 weeks of people satisfied there's no major correctness bugs or major regressions?</p>
</blockquote>
<p>actually maybe it's even <em>too</em> long</p>



<a name="163010076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010076">(Apr 10 2019 at 14:36)</a>:</h4>
<p>maybe 2 weeks is better, since that then gives us 2 weeks of testing with N&gt;1</p>



<a name="163010081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010081">(Apr 10 2019 at 14:36)</a>:</h4>
<p>3 hours of people satisfied!</p>



<a name="163010100"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010100" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010100">(Apr 10 2019 at 14:36)</a>:</h4>
<p>2 sgtm</p>



<a name="163010112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010112">(Apr 10 2019 at 14:36)</a>:</h4>
<p>and then 2 weeks for being sloppy :P</p>



<a name="163010144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010144">(Apr 10 2019 at 14:37)</a>:</h4>
<p>ok, this sounds all good, but :)</p>



<a name="163010145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010145">(Apr 10 2019 at 14:37)</a>:</h4>
<p>(in all seriousness the week <em>of the</em> release I'd prefer to have nothing left to do, so we get 1 week to either pull it out, or write a triumphant blog post)</p>



<a name="163010155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010155">(Apr 10 2019 at 14:37)</a>:</h4>
<p>Hold on, before the concern, let's lay out the schedule to be clear</p>



<a name="163010159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010159">(Apr 10 2019 at 14:37)</a>:</h4>
<p>I want to make sure we have the bandwidth to do this</p>



<a name="163010164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010164">(Apr 10 2019 at 14:37)</a>:</h4>
<p>Yes, I want to come to that</p>



<a name="163010181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010181">(Apr 10 2019 at 14:37)</a>:</h4>
<p>But first I want to be  sure we're all on same page on what we said so far</p>



<a name="163010202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010202">(Apr 10 2019 at 14:37)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="163010333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010333">(Apr 10 2019 at 14:39)</a>:</h4>
<p>(I don't mind giving this a stab to lay it out, I don't see anyone else typing and I'm not sure if I should be able to)</p>



<a name="163010363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010363">(Apr 10 2019 at 14:39)</a>:</h4>
<ul>
<li>Establish thresholds for what a "major regression" is</li>
<li>On next release after we are satisfied no major regressions exist:<br>
    - Enable with threads=1 after release for 2 weeks, making an annoucnement and requesting feedback<br>
    - Enable with threads&gt;1 after 2 weeks, if all goes well, else disable and fix bugs, try again next release</li>
<li>If all goes well, we make triumphant blog post 5 weeks in saying "We are leaving this on by default now, we think"</li>
</ul>



<a name="163010399"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010399" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010399">(Apr 10 2019 at 14:39)</a>:</h4>
<blockquote>
<p>(I don't mind giving this a stab to lay it out, I don't see anyone else typing and I'm not sure if I should be able to)</p>
</blockquote>
<p>I think you can't in the group channels :)</p>



<a name="163010490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010490">(Apr 10 2019 at 14:40)</a>:</h4>
<blockquote>
<p>I think you can't in the group channels :)</p>
</blockquote>
<p>A distracting feature anyway :)</p>



<a name="163010504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010504">(Apr 10 2019 at 14:40)</a>:</h4>
<p>that timeline assumes 1 week (ish) to get to the point we're ready to enable parallel capable compilers by default, right?</p>



<a name="163010543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010543">(Apr 10 2019 at 14:40)</a>:</h4>
<p>so does that mean that the next cycle is out of the question?</p>



<a name="163010548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010548">(Apr 10 2019 at 14:40)</a>:</h4>
<p>I don't quite know what you mean</p>



<a name="163010567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010567">(Apr 10 2019 at 14:41)</a>:</h4>
<blockquote>
<p>so does that mean that the next cycle is out of the question?</p>
</blockquote>
<p>I think it is, but I think 6 weeks from now is plausible</p>



<a name="163010589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010589">(Apr 10 2019 at 14:41)</a>:</h4>
<p>you said in 5 weeks, a week before the 1.35 release, we'd have a big blog post</p>



<a name="163010603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010603">(Apr 10 2019 at 14:41)</a>:</h4>
<p>but 4 weeks backwards is one week from now</p>



<a name="163010615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010615">(Apr 10 2019 at 14:41)</a>:</h4>
<p>because I'll be on parental leave June and July, meaning I wouldn't be available much</p>



<a name="163010618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010618">(Apr 10 2019 at 14:41)</a>:</h4>
<p>so we have the next week to get ready to ship a parallel compiler</p>



<a name="163010623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010623">(Apr 10 2019 at 14:41)</a>:</h4>
<p>then 2 weeks to test it</p>



<a name="163010627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010627">(Apr 10 2019 at 14:41)</a>:</h4>
<p>then 2 weeks to test parallel-by-default</p>



<a name="163010633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010633">(Apr 10 2019 at 14:41)</a>:</h4>
<p>I did not intend to start with the upcoming release</p>



<a name="163010651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010651">(Apr 10 2019 at 14:42)</a>:</h4>
<p>because we still have pending PRs etc</p>



<a name="163010705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010705">(Apr 10 2019 at 14:42)</a>:</h4>
<p>but I guess we should talk about that</p>



<a name="163010719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010719">(Apr 10 2019 at 14:42)</a>:</h4>
<blockquote>
<p>because I'll be on parental leave June and July, meaning I wouldn't be available much</p>
</blockquote>
<p>e.g., this</p>



<a name="163010742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010742">(Apr 10 2019 at 14:42)</a>:</h4>
<p>also I know I personally will be in Greece from mid July - mid August, and then there is rustconf etc</p>



<a name="163010749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010749">(Apr 10 2019 at 14:42)</a>:</h4>
<p>of course I don't insist that this should wait for me being there</p>



<a name="163010754"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010754" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010754">(Apr 10 2019 at 14:42)</a>:</h4>
<p>We can test thread=1 this cycle and &gt;1 next too</p>



<a name="163010778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010778">(Apr 10 2019 at 14:43)</a>:</h4>
<p>so nightly becomes 1.36 tomorrow (ish)</p>



<a name="163010815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010815">(Apr 10 2019 at 14:43)</a>:</h4>
<p>nightly becomes 1.37 on may 23</p>



<a name="163010835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010835">(Apr 10 2019 at 14:43)</a>:</h4>
<p>1.38 on june 4</p>



<a name="163010842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010842">(Apr 10 2019 at 14:43)</a>:</h4>
<p>er, july 4</p>



<a name="163010909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010909">(Apr 10 2019 at 14:44)</a>:</h4>
<p>right, so per the plan I outlined, we either start with threads=1 next week or something, or else on may 23. I was imagining starting Friday, May 24, which would put the 2 week point around Friday, June 7</p>



<a name="163010945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010945">(Apr 10 2019 at 14:44)</a>:</h4>
<p>ok so a parallel-by-default compiler on <del>June</del> July 4 reaches beta?</p>



<a name="163010952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010952">(Apr 10 2019 at 14:44)</a>:</h4>
<p>where the 1.37 release will have a parallel-by-default compiler?</p>



<a name="163010974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010974">(Apr 10 2019 at 14:45)</a>:</h4>
<blockquote>
<p>ok so a parallel-by-default compiler on June 4 reaches beta?</p>
</blockquote>
<p>do you mean July 4</p>



<a name="163010983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010983">(Apr 10 2019 at 14:45)</a>:</h4>
<p>er yes</p>



<a name="163010988"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163010988" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163010988">(Apr 10 2019 at 14:45)</a>:</h4>
<p>that was what I had in mind</p>



<a name="163011032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011032">(Apr 10 2019 at 14:45)</a>:</h4>
<p>ok so we have until July 4 to enable parallel by defaulting, giving us 12 weeks of runway</p>



<a name="163011034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011034">(Apr 10 2019 at 14:45)</a>:</h4>
<p>I guess that means that it will hit stable in .. August 8?</p>



<a name="163011039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011039">(Apr 10 2019 at 14:45)</a>:</h4>
<p>(from today)</p>



<a name="163011098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011098">(Apr 10 2019 at 14:46)</a>:</h4>
<p>right before RustConf :)</p>



<a name="163011104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011104">(Apr 10 2019 at 14:46)</a>:</h4>
<p>August 15</p>



<a name="163011111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011111">(Apr 10 2019 at 14:46)</a>:</h4>
<p>assuming all goes well, of course</p>



<a name="163011113"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011113" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011113">(Apr 10 2019 at 14:46)</a>:</h4>
<p>wait, I don't understand</p>



<a name="163011116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011116">(Apr 10 2019 at 14:46)</a>:</h4>
<p>ok, Aug 15</p>



<a name="163011122"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011122" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011122">(Apr 10 2019 at 14:46)</a>:</h4>
<p>when would be the testing cycle?</p>



<a name="163011163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011163">(Apr 10 2019 at 14:47)</a>:</h4>
<p>Roughly speaking (not using the 2 weeks niko mentioned above which we could still do of course) the next 6 weeks are "test a threads=1 compiler" and the next 6 weeks is "test a threads=N compiler"</p>



<a name="163011174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011174">(Apr 10 2019 at 14:47)</a>:</h4>
<p>were that's what we're releasing as nightlies</p>



<a name="163011183"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011183" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011183">(Apr 10 2019 at 14:47)</a>:</h4>
<p>and that brings us to July 4</p>



<a name="163011210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011210">(Apr 10 2019 at 14:47)</a>:</h4>
<p>ok</p>



<a name="163011285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011285">(Apr 10 2019 at 14:48)</a>:</h4>
<p>i.e. try to land the pending optimizations and then switch nightly</p>



<a name="163011291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011291">(Apr 10 2019 at 14:48)</a>:</h4>
<p>to 1 thread?</p>



<a name="163011296"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011296" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011296">(Apr 10 2019 at 14:48)</a>:</h4>
<table>
<thead>
<tr>
<th>Week of</th>
<th>What happens</th>
</tr>
</thead>
<tbody>
<tr>
<td>May 20</td>
<td>release happens, we enable threads=1</td>
</tr>
<tr>
<td>May 27</td>
<td>testing period, week 1</td>
</tr>
<tr>
<td>June 3</td>
<td>testing period, week 2, assuming all goes well we enable threads=N</td>
</tr>
<tr>
<td>June 10</td>
<td>testing period, week 3</td>
</tr>
<tr>
<td>June 17</td>
<td>testing period, week 4, end of week is "d-day"</td>
</tr>
<tr>
<td>June 24</td>
<td>"decision day" -- either back out, or let it ride the trains</td>
</tr>
<tr>
<td>July 1</td>
<td>we cut the beta</td>
</tr>
</tbody>
</table>



<a name="163011350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011350">(Apr 10 2019 at 14:49)</a>:</h4>
<p>I would say we could probably enable threads=1 on nightly in this cycle if we're confident, no?</p>



<a name="163011352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011352">(Apr 10 2019 at 14:49)</a>:</h4>
<p>ok, so that's different from what <span class="user-mention" data-user-id="116015">@Alex Crichton</span> just said :)</p>



<a name="163011358"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011358" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011358">(Apr 10 2019 at 14:49)</a>:</h4>
<p>(although maybe turn it back off just before the branch to beta)</p>



<a name="163011363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011363">(Apr 10 2019 at 14:49)</a>:</h4>
<p>(it is different from what I said)</p>



<a name="163011378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011378">(Apr 10 2019 at 14:49)</a>:</h4>
<blockquote>
<p>ok, so that's different from what <span class="user-mention silent" data-user-id="116015">Alex Crichton</span> just said :)</p>
</blockquote>
<p>but mine has a prettier table</p>



<a name="163011382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011382">(Apr 10 2019 at 14:49)</a>:</h4>
<p>let me read what alex just wrote :)</p>



<a name="163011448"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011448" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011448">(Apr 10 2019 at 14:50)</a>:</h4>
<p>ok, that is quite different from what alex said, yes</p>



<a name="163011466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011466">(Apr 10 2019 at 14:50)</a>:</h4>
<p>I'd basically propose "ASAP as we feel confident turn on threads=1 in nightly"</p>



<a name="163011488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011488">(Apr 10 2019 at 14:50)</a>:</h4>
<p>and delay threads=N in nightly to <em>at most</em> June 3 week</p>



<a name="163011493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011493">(Apr 10 2019 at 14:50)</a>:</h4>
<p>ok, that feels quite different from what we were discussing, but I'm open to it as well</p>



<a name="163011505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011505">(Apr 10 2019 at 14:50)</a>:</h4>
<p>do you mean that when we cut beta, it would have threads=1</p>



<a name="163011509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011509">(Apr 10 2019 at 14:50)</a>:</h4>
<p>I'd say we turn on thread=1 as soon as performance is good, if there's time left in the cycle</p>



<a name="163011533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011533">(Apr 10 2019 at 14:51)</a>:</h4>
<p>so I think that tying this to release cycles (Vs 2 week increments) is also good</p>



<a name="163011535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011535">(Apr 10 2019 at 14:51)</a>:</h4>
<p>that depends on if we have threads=1 at the beta cut, on performance numbers</p>



<a name="163011559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011559">(Apr 10 2019 at 14:51)</a>:</h4>
<p>it was what I initially wanted :) but I thought we wanted to move faster</p>



<a name="163011577"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011577" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011577">(Apr 10 2019 at 14:51)</a>:</h4>
<p>if threads=1 is so bad we can't live with ourselves we could turn it back off just before beta</p>



<a name="163011596"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011596" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011596">(Apr 10 2019 at 14:51)</a>:</h4>
<blockquote>
<p>that depends on if we have threads=1 at the beta cut, on performance numbers</p>
</blockquote>
<p>right, so, if all goes well, a "parallel capable, but not enabled" rustc would ship as beta</p>



<a name="163011613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011613">(Apr 10 2019 at 14:51)</a>:</h4>
<p>right and that I imagine will be contentious and we probably won't want to do</p>



<a name="163011615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011615">(Apr 10 2019 at 14:51)</a>:</h4>
<p>perhaps we should also allow people to turn parallel on with that beta?</p>



<a name="163011671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011671">(Apr 10 2019 at 14:52)</a>:</h4>
<p>i.e., it's "parallel opt-in"</p>



<a name="163011673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011673">(Apr 10 2019 at 14:52)</a>:</h4>
<p>hm that's not a terrible idea actually</p>



<a name="163011693"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011693" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011693">(Apr 10 2019 at 14:52)</a>:</h4>
<p>I forget what we did with incremental in this regard</p>



<a name="163011700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011700">(Apr 10 2019 at 14:52)</a>:</h4>
<p>but I personally think it makes sense</p>



<a name="163011715"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011715" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011715">(Apr 10 2019 at 14:52)</a>:</h4>
<p>incremental was somewhat different where not using it didn't have a perf impact</p>



<a name="163011721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011721">(Apr 10 2019 at 14:52)</a>:</h4>
<p>but w/ threads not using it can cause problems</p>



<a name="163011741"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011741" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011741">(Apr 10 2019 at 14:52)</a>:</h4>
<p>well it causes a perf impact</p>



<a name="163011746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011746">(Apr 10 2019 at 14:52)</a>:</h4>
<p>but not (we believe) correctness problems</p>



<a name="163011768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011768">(Apr 10 2019 at 14:53)</a>:</h4>
<p>regardless the thing I don't remember is if we exposed incremental on an opt-in basis also on stable</p>



<a name="163011775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011775">(Apr 10 2019 at 14:53)</a>:</h4>
<p>we just boiled the frog slowly with incremental :)</p>



<a name="163011778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011778">(Apr 10 2019 at 14:53)</a>:</h4>
<p>before we made it the default</p>



<a name="163011826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011826">(Apr 10 2019 at 14:53)</a>:</h4>
<p>anyway, I would personally favor that we enable parallel support but "opt-in" for 1 release cycle, and we ship it like that (presuming we haven't backed it out)</p>



<a name="163011830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011830">(Apr 10 2019 at 14:54)</a>:</h4>
<p>we might have stabilized it in the compiler</p>



<a name="163011872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011872">(Apr 10 2019 at 14:54)</a>:</h4>
<p>it feels simpler</p>



<a name="163011878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011878">(Apr 10 2019 at 14:54)</a>:</h4>
<p>but cargo would not default to it</p>



<a name="163011902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011902">(Apr 10 2019 at 14:54)</a>:</h4>
<p>I don't like the idea of us having to do some complex dance where beta turns it off and is not the code we've been testing etc</p>



<a name="163011915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011915">(Apr 10 2019 at 14:54)</a>:</h4>
<p>alright so this sounds like a plan? Shoot for threads=1 by the next release, then shoot for threads=N on the next release</p>



<a name="163011925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011925">(Apr 10 2019 at 14:54)</a>:</h4>
<p>May 23 == threads=1<br>
July 4 == threads=N</p>



<a name="163011962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011962">(Apr 10 2019 at 14:55)</a>:</h4>
<p>sgtm</p>



<a name="163011967"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011967" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011967">(Apr 10 2019 at 14:55)</a>:</h4>
<p>I think as long as we are clear that we are moving towards "parallel by default" and that we have no major regressions, it's ok -- particularly if you can <strong>opt-in</strong> on stable, which would also help to eliminate regressions (unless there are bugs)</p>



<a name="163011982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011982">(Apr 10 2019 at 14:55)</a>:</h4>
<p>So I want to be clear on this point: are we allowing opt-in on stable ? (I think we should)</p>



<a name="163011994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163011994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163011994">(Apr 10 2019 at 14:55)</a>:</h4>
<p>but it's advertised as being "experimental", hence it is not the default</p>



<a name="163012060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012060">(Apr 10 2019 at 14:56)</a>:</h4>
<p>yes</p>



<a name="163012071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012071">(Apr 10 2019 at 14:56)</a>:</h4>
<p>agreed yes we should</p>



<a name="163012082"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012082" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012082">(Apr 10 2019 at 14:56)</a>:</h4>
<p>so by May 23 we promote <code>-Zthreads</code> to something like <code>-Cthreads</code></p>



<a name="163012089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012089">(Apr 10 2019 at 14:56)</a>:</h4>
<p>ok. So now the question of availability -- what exactly does it <em>take</em> to do this? It seems like it mostly require monitoring the internals thread and bugs filed</p>



<a name="163012094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012094">(Apr 10 2019 at 14:56)</a>:</h4>
<p>I wonder if we should involve the release team in this discussion</p>



<a name="163012097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012097">(Apr 10 2019 at 14:56)</a>:</h4>
<p>I kind of think yes :)</p>



<a name="163012104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012104">(Apr 10 2019 at 14:56)</a>:</h4>
<p>cc <span class="user-mention" data-user-id="116122">@simulacrum</span> and <span class="user-mention" data-user-id="121055">@Pietro Albini</span></p>



<a name="163012120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012120">(Apr 10 2019 at 14:57)</a>:</h4>
<p>(times like these I wish everyone was on Zulip <span aria-label="stuck out tongue" class="emoji emoji-1f61d" role="img" title="stuck out tongue">:stuck_out_tongue:</span>)</p>



<a name="163012167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012167">(Apr 10 2019 at 14:57)</a>:</h4>
<blockquote>
<p>so by May 23 we promote <code>-Zthreads</code> to something like <code>-Cthreads</code></p>
</blockquote>
<p>i was going to mention that -- we probably want to stabilize the <em>option</em> asap, but just have it be a no-op or something to start?</p>



<a name="163012247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012247">(Apr 10 2019 at 14:58)</a>:</h4>
<p>like, how specifically should "Opt-in" work? I imagine an environment variable is most convenient</p>



<a name="163012249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012249">(Apr 10 2019 at 14:58)</a>:</h4>
<p>well, if we stabilize now, it would still only be available on nightly</p>



<a name="163012256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012256">(Apr 10 2019 at 14:58)</a>:</h4>
<p>so that would be fine</p>



<a name="163012258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012258">(Apr 10 2019 at 14:58)</a>:</h4>
<p>yes</p>



<a name="163012277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012277">(Apr 10 2019 at 14:58)</a>:</h4>
<p>an env var that's ignored in non-parallel-capable compilers seems reasonable to me</p>



<a name="163012295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012295">(Apr 10 2019 at 14:59)</a>:</h4>
<p>sounds good</p>



<a name="163012308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012308">(Apr 10 2019 at 14:59)</a>:</h4>
<p>I still use <code>CARGO_INCREMENTAL=0</code> or whatever it is from time to time :)</p>



<a name="163012313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012313">(Apr 10 2019 at 14:59)</a>:</h4>
<p>we have a tradition for using env vars like that</p>



<a name="163012332"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012332" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012332">(Apr 10 2019 at 14:59)</a>:</h4>
<p>(mostly to sanity check if something is an incremental bug...it (almost) never is...)</p>



<a name="163012415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012415">(Apr 10 2019 at 15:00)</a>:</h4>
<p>do we therefore have to modify cargo to respect this variable?</p>



<a name="163012430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012430">(Apr 10 2019 at 15:00)</a>:</h4>
<p>nah I think it'd be <code>RUSTC_THREADS=N</code></p>



<a name="163012433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012433">(Apr 10 2019 at 15:00)</a>:</h4>
<p>b/c cargo wouldn't do anything with it</p>



<a name="163012437"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012437" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012437">(Apr 10 2019 at 15:00)</a>:</h4>
<p>unless we want cargo to pass <code>-Cthreads=1</code> to rustc</p>



<a name="163012444"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012444" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012444">(Apr 10 2019 at 15:00)</a>:</h4>
<p>via that env var</p>



<a name="163012447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012447">(Apr 10 2019 at 15:00)</a>:</h4>
<p>I think <code>-j &lt;threads&gt;</code> is a better option =P</p>



<a name="163012449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012449">(Apr 10 2019 at 15:00)</a>:</h4>
<p>(either way is fine by me)</p>



<a name="163012451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012451">(Apr 10 2019 at 15:00)</a>:</h4>
<p>would cargo's job server just work?</p>



<a name="163012453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012453">(Apr 10 2019 at 15:00)</a>:</h4>
<p>that's basically what I was asking</p>



<a name="163012476"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012476" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012476">(Apr 10 2019 at 15:00)</a>:</h4>
<p><code>-j</code> won't work because you really do want parallel processes</p>



<a name="163012479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012479">(Apr 10 2019 at 15:00)</a>:</h4>
<p>I don't really have a strong opinion here on how it works but I think we should agree :)</p>



<a name="163012480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012480">(Apr 10 2019 at 15:00)</a>:</h4>
<p>but you don't want parallel rustc may</p>



<a name="163012481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012481">(Apr 10 2019 at 15:01)</a>:</h4>
<p>maybe*</p>



<a name="163012500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012500">(Apr 10 2019 at 15:01)</a>:</h4>
<p>does cargo always create a jobserver?</p>



<a name="163012502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012502">(Apr 10 2019 at 15:01)</a>:</h4>
<p>in the end it will all be <code>-j</code> but for now while we're testing they need to be separable</p>



<a name="163012512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012512">(Apr 10 2019 at 15:01)</a>:</h4>
<p>cargo does always create a jobserver, but it's not suitable for this I think</p>



<a name="163012518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012518">(Apr 10 2019 at 15:01)</a>:</h4>
<p>what do you mean?</p>



<a name="163012527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012527">(Apr 10 2019 at 15:01)</a>:</h4>
<p><code>-j</code> and the jobserver govern processes as well as the threads of rustc</p>



<a name="163012542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012542">(Apr 10 2019 at 15:01)</a>:</h4>
<p>Why won't <code>-j</code> work? And we'll always use cargo's jobserver</p>



<a name="163012548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012548">(Apr 10 2019 at 15:01)</a>:</h4>
<p>reason I am asking: when rustc is compiling in parallel, we probably want a jobserver active, right? but I guess it must be active anyway because LLVM is parallel by default?</p>



<a name="163012594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012594">(Apr 10 2019 at 15:02)</a>:</h4>
<p>if you hit a parallel bug you want to turn off parallel rustc but not parallal cargo</p>



<a name="163012607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012607">(Apr 10 2019 at 15:02)</a>:</h4>
<p>yes, sorry, I"m asking a different question</p>



<a name="163012609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012609">(Apr 10 2019 at 15:02)</a>:</h4>
<p>I agree they should be different  knobs</p>



<a name="163012615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012615">(Apr 10 2019 at 15:02)</a>:</h4>
<p>I'm mostly checking that if you TURN ON parallel rustc, you will get jobserver integration</p>



<a name="163012620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012620">(Apr 10 2019 at 15:02)</a>:</h4>
<p><code>cargo rustc -- -j1</code> will turn it off</p>



<a name="163012625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012625">(Apr 10 2019 at 15:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yes turning on parallel rustc will always use a jobserver</p>



<a name="163012632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012632">(Apr 10 2019 at 15:02)</a>:</h4>
<p>also, <code>RUSTC_THREADS=1</code> looks like use one thread, but we probably want a binary "on or off" flag, right?</p>



<a name="163012635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012635">(Apr 10 2019 at 15:02)</a>:</h4>
<p>in that case, maybe <code>RUSTC_THREADED=1</code> ?</p>



<a name="163012638"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012638" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012638">(Apr 10 2019 at 15:03)</a>:</h4>
<p>sgtm</p>



<a name="163012664"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012664" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012664">(Apr 10 2019 at 15:03)</a>:</h4>
<p>that's a better idea yeah</p>



<a name="163012668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012668">(Apr 10 2019 at 15:03)</a>:</h4>
<p>yes, one thread still means parallel LLVM</p>



<a name="163012674"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012674" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012674">(Apr 10 2019 at 15:03)</a>:</h4>
<p><code>RUSTC_PARALLEL=1</code>?</p>



<a name="163012679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012679">(Apr 10 2019 at 15:03)</a>:</h4>
<p>better</p>



<a name="163012681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012681">(Apr 10 2019 at 15:03)</a>:</h4>
<p>eh we can gloss over that</p>



<a name="163012689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012689">(Apr 10 2019 at 15:03)</a>:</h4>
<p>the fact that <code>RUSTC_PARALLEL=0</code> still runs llvm in parallel</p>



<a name="163012703"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012703" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012703">(Apr 10 2019 at 15:03)</a>:</h4>
<p>yeah I mean it's a nit pick :) but let's run with <code>RUSTC_PARALLEL=1</code> to start</p>



<a name="163012711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012711">(Apr 10 2019 at 15:03)</a>:</h4>
<p>oh I see, yeah, whatever</p>



<a name="163012764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012764">(Apr 10 2019 at 15:04)</a>:</h4>
<p>we'll probably delete this option eventually anyway</p>



<a name="163012765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012765">(Apr 10 2019 at 15:04)</a>:</h4>
<p>Probably want to specify the threads. 8 threads is faster than me than 16 on 8 cores. Might not be true on Intel =P</p>



<a name="163012790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012790">(Apr 10 2019 at 15:04)</a>:</h4>
<p>Hmm, I don't think most people will want that. Maybe we want a <em>way</em> to specify the threads</p>



<a name="163012810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012810">(Apr 10 2019 at 15:04)</a>:</h4>
<p>ACtually</p>



<a name="163012817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012817">(Apr 10 2019 at 15:04)</a>:</h4>
<p>this would be a great point to ask people to give feedback on</p>



<a name="163012823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012823">(Apr 10 2019 at 15:04)</a>:</h4>
<p>maybe the value can be a percentage</p>



<a name="163012825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012825">(Apr 10 2019 at 15:04)</a>:</h4>
<p>I think <code>-Z</code> is fine for that for now? If necessary we can stabilize <code>-j</code> or <code>-Cthreads</code> in rustc itself</p>



<a name="163012854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012854">(Apr 10 2019 at 15:05)</a>:</h4>
<p>e.g., <code>RUSTC_PARALLEL=1</code> means "Use 100% of cores" :)</p>



<a name="163012870"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012870" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012870">(Apr 10 2019 at 15:05)</a>:</h4>
<p>RUSTC_PARALLEL=0.5 means "use 50% of cores"</p>



<a name="163012871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012871">(Apr 10 2019 at 15:05)</a>:</h4>
<p>nah I like the idea of 0/1 on/off</p>



<a name="163012873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012873">(Apr 10 2019 at 15:05)</a>:</h4>
<p>etc</p>



<a name="163012892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012892">(Apr 10 2019 at 15:05)</a>:</h4>
<blockquote>
<p>nah I like the idea of 0/1 on/off</p>
</blockquote>
<p>so, long term</p>



<a name="163012896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012896">(Apr 10 2019 at 15:05)</a>:</h4>
<p>because we want some heuristic in rustc eventually</p>



<a name="163012897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012897">(Apr 10 2019 at 15:05)</a>:</h4>
<p>people are not going to specify the number of threads</p>



<a name="163012901"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012901" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012901">(Apr 10 2019 at 15:05)</a>:</h4>
<p>which just does everything automatically</p>



<a name="163012902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012902">(Apr 10 2019 at 15:05)</a>:</h4>
<p>but it might be helpful for us to have data on</p>



<a name="163012913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012913">(Apr 10 2019 at 15:05)</a>:</h4>
<p>true</p>



<a name="163012925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012925">(Apr 10 2019 at 15:06)</a>:</h4>
<p>i.e., if it's consistently true that 0.5 works best...</p>



<a name="163012968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012968">(Apr 10 2019 at 15:06)</a>:</h4>
<p>that's a simple heuristc :)</p>



<a name="163012980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012980">(Apr 10 2019 at 15:06)</a>:</h4>
<p>this seems like something people can help us with, if we are asking for feedback</p>



<a name="163012985"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012985" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012985">(Apr 10 2019 at 15:06)</a>:</h4>
<p>ok seems reasonable</p>



<a name="163012993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163012993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163012993">(Apr 10 2019 at 15:06)</a>:</h4>
<p>we parse <code>RUSTC_PARALLEL</code> as a float and multiply it by <code>num_cpus::get</code></p>



<a name="163013023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013023">(Apr 10 2019 at 15:06)</a>:</h4>
<p>and take <code>max(RUSTC_PARALLEL * NUM_CPUS, 1)</code></p>



<a name="163013025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013025">(Apr 10 2019 at 15:06)</a>:</h4>
<p>haha, so weird</p>



<a name="163013030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013030">(Apr 10 2019 at 15:06)</a>:</h4>
<p>I like it</p>



<a name="163013053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013053">(Apr 10 2019 at 15:07)</a>:</h4>
<p>That sounds horrible =P</p>



<a name="163013055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013055">(Apr 10 2019 at 15:07)</a>:</h4>
<p>since I guess you don't want to compile with 0 threads :P</p>



<a name="163013079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013079">(Apr 10 2019 at 15:07)</a>:</h4>
<p>I don't really care exactly what we use, but I think we shouldn't require people to know how many cores they have :)</p>



<a name="163013087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013087">(Apr 10 2019 at 15:07)</a>:</h4>
<p>sorry I don't know how to thumbs up a thing but I would if I could</p>



<a name="163013096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013096">(Apr 10 2019 at 15:07)</a>:</h4>
<p>haha</p>



<a name="163013104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013104">(Apr 10 2019 at 15:07)</a>:</h4>
<p>And I don't like RUSTC_PARALLEL as a stable option</p>



<a name="163013199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013199">(Apr 10 2019 at 15:08)</a>:</h4>
<p>I didn't imagine it as "stable" in the sense of supported long term, but maybe that's problematic</p>



<a name="163013206"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013206" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013206">(Apr 10 2019 at 15:08)</a>:</h4>
<p>I don't think RUSTC_PARALLEL would be around forever, right?</p>



<a name="163013209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013209">(Apr 10 2019 at 15:08)</a>:</h4>
<p>the nice thing about env vars is we can just ignore them</p>



<a name="163013297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013297">(Apr 10 2019 at 15:09)</a>:</h4>
<p>what would you propose, <span class="user-mention" data-user-id="116466">@Zoxc</span> ?</p>



<a name="163013398"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013398" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013398">(Apr 10 2019 at 15:10)</a>:</h4>
<p>Just use <code>-j &lt;threads&gt;</code>, which is pretty standard.</p>



<a name="163013419"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013419" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013419">(Apr 10 2019 at 15:10)</a>:</h4>
<p>and then use RUSTFLAGS/<code>cargo rustc</code>?</p>



<a name="163013430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013430">(Apr 10 2019 at 15:10)</a>:</h4>
<p>Yeah. People opting in will likely know how many cores they have</p>



<a name="163013499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013499">(Apr 10 2019 at 15:11)</a>:</h4>
<p>sounds also reasonable to me</p>



<a name="163013518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013518">(Apr 10 2019 at 15:11)</a>:</h4>
<p>although it might be confusing regarding parallel LLVM</p>



<a name="163013521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013521">(Apr 10 2019 at 15:12)</a>:</h4>
<p>I don't think this is appropriate for testing though, maybe long term it's fine to have just this</p>



<a name="163013524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013524">(Apr 10 2019 at 15:12)</a>:</h4>
<p>I don't really care that much :) I don't know that people will know how many cores they have</p>



<a name="163013567"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013567" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013567">(Apr 10 2019 at 15:12)</a>:</h4>
<p>I don't know how many cores I have, for example :)</p>



<a name="163013572"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013572" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013572">(Apr 10 2019 at 15:12)</a>:</h4>
<p>but this does not have an easy "just turn it on and let me test" switch</p>



<a name="163013586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013586">(Apr 10 2019 at 15:12)</a>:</h4>
<p>we need to collect data on what we'll eventually turn on, which isn't where everyone will be choosing how many cores to give us</p>



<a name="163013588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013588">(Apr 10 2019 at 15:12)</a>:</h4>
<p>my main goal was that we should be able to tell people</p>



<a name="163013608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013608">(Apr 10 2019 at 15:12)</a>:</h4>
<p>"run these two commands and report to us the numbers"</p>



<a name="163013609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013609">(Apr 10 2019 at 15:12)</a>:</h4>
<p>furthermore RUSTFLAGS isn't actually a great proxy for this due to its cross-compilation behavior</p>



<a name="163013619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013619">(Apr 10 2019 at 15:12)</a>:</h4>
<p>where it's not passed to the host compilations (like build scripts and procedural macros) if you cross compile</p>



<a name="163013623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013623">(Apr 10 2019 at 15:12)</a>:</h4>
<blockquote>
<p>"run these two commands and report to us the numbers"</p>
</blockquote>
<p>and the fewer variations these require, the better</p>



<a name="163013633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013633">(Apr 10 2019 at 15:12)</a>:</h4>
<p>right</p>



<a name="163013656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013656">(Apr 10 2019 at 15:13)</a>:</h4>
<p>we should have "do this and report numbers" and then if they're willing "do this and tweak this parameter and report numbers"</p>



<a name="163013669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013669">(Apr 10 2019 at 15:13)</a>:</h4>
<p>the first, simple, thing should be what we will have the defaults as later (aka <code>num_cpus::get</code>)</p>



<a name="163013699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013699">(Apr 10 2019 at 15:13)</a>:</h4>
<p>ok, I think I like the <code>RUSTC_PARALLEL=factor</code> solution best</p>



<a name="163013760"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013760" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013760">(Apr 10 2019 at 15:14)</a>:</h4>
<p>not as a stable option, but for testing the reasons seem convincing</p>



<a name="163013773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013773">(Apr 10 2019 at 15:14)</a>:</h4>
<p>I'm fine removing the <code>factor</code> wonkiness</p>



<a name="163013777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013777">(Apr 10 2019 at 15:14)</a>:</h4>
<p>and we could just add <code>-j</code> instead</p>



<a name="163013811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163013811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163013811">(Apr 10 2019 at 15:14)</a>:</h4>
<p>(in the end, I don't care that much, but I think if we have people specify the number of cores, and we want real data, we should ask people to look things up, and there's also some confusion around e.g. hyperthreads etc)</p>



<a name="163014052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014052">(Apr 10 2019 at 15:17)</a>:</h4>
<p>maybe we could make <code>rustc</code> print some information about the processor used</p>



<a name="163014073"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014073" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014073">(Apr 10 2019 at 15:17)</a>:</h4>
<p>making it easier for people to give us data?</p>



<a name="163014170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014170">(Apr 10 2019 at 15:18)</a>:</h4>
<p>might cause unwanted commandline spam though</p>



<a name="163014221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014221">(Apr 10 2019 at 15:18)</a>:</h4>
<p>anyway this is a <em>somewhat</em> minor point</p>



<a name="163014247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014247">(Apr 10 2019 at 15:19)</a>:</h4>
<p>at least we can discuss it separately for sure</p>



<a name="163014260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014260">(Apr 10 2019 at 15:19)</a>:</h4>
<p>I don't have a strongly held opinion here, but I do think people should be able to turn off the "new" parallelism while keeping the old</p>



<a name="163014305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014305">(Apr 10 2019 at 15:19)</a>:</h4>
<p>so it sounds like for the time being add <code>RUSTC_PARALLEL=0/1</code> and then add <code>-j</code> as well to rustc?</p>



<a name="163014375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014375">(Apr 10 2019 at 15:20)</a>:</h4>
<p>where <code>-j</code> defaults to some good heuristic we develop and <code>RUSTC_PARALLEL=0</code> disables all parallelism we're testing here</p>



<a name="163014385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014385">(Apr 10 2019 at 15:20)</a>:</h4>
<p>and everything is always governed by cargo's jobserver</p>



<a name="163014410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014410">(Apr 10 2019 at 15:20)</a>:</h4>
<p>sounds a bit hard to explain</p>



<a name="163014455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014455">(Apr 10 2019 at 15:21)</a>:</h4>
<p>it does sound strictly worse :)</p>



<a name="163014502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014502">(Apr 10 2019 at 15:21)</a>:</h4>
<p>let's leave this unsettled for a second and back up</p>



<a name="163014561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014561">(Apr 10 2019 at 15:22)</a>:</h4>
<p>I just want to sketch out overall plan and make sure I understand it:</p>



<a name="163014651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014651">(Apr 10 2019 at 15:23)</a>:</h4>
<table>
<thead>
<tr>
<th>Release</th>
<th>Behavior</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.36</td>
<td>Supports parallel on an <strong>opt-in</strong> basis, controlled by <code>RUSTC_PARALLEL=1</code>, some way to specify number of cores</td>
</tr>
<tr>
<td>1.37</td>
<td>Supports parallel on an <strong>opt-out</strong> basis, controlled by <code>RUSTC_PARALLEL=0</code>, some way to specify number of cores</td>
</tr>
<tr>
<td>1.38</td>
<td>Supports parallel by default, no opt-out other than <code>-j1</code>?</td>
</tr>
</tbody>
</table>



<a name="163014669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014669">(Apr 10 2019 at 15:23)</a>:</h4>
<p>I'm not sure about this last point</p>



<a name="163014724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014724">(Apr 10 2019 at 15:24)</a>:</h4>
<p>but I imagine that long-term we want the question of e.g. LLVM vs other parallelism to just kind of go away</p>



<a name="163014830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014830">(Apr 10 2019 at 15:25)</a>:</h4>
<p>*<code>-j1</code></p>



<a name="163014845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014845">(Apr 10 2019 at 15:25)</a>:</h4>
<p>well so there's one thing missing from that sketch, which is for the 1.36 release we should probably have a way for data collection where users specify the number of cores</p>



<a name="163014860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014860">(Apr 10 2019 at 15:25)</a>:</h4>
<p>(if we primarily want that release to be a data collection one)</p>



<a name="163014863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014863">(Apr 10 2019 at 15:25)</a>:</h4>
<p>Right, that's the sort of undecided bit I guess</p>



<a name="163014871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163014871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163014871">(Apr 10 2019 at 15:25)</a>:</h4>
<p>ok, that's also fine by me :)</p>



<a name="163015007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015007">(Apr 10 2019 at 15:27)</a>:</h4>
<p>So what are the concrete steps we need?</p>



<a name="163015071"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015071" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015071">(Apr 10 2019 at 15:27)</a>:</h4>
<p>criteria for when we make parallel=1 the default</p>



<a name="163015076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015076">(Apr 10 2019 at 15:27)</a>:</h4>
<ul>
<li>Land <span class="user-mention" data-user-id="116466">@Zoxc</span>'s outstanding PRs</li>
<li>Perform measurements of <code>-j1</code> overhead and check criteria</li>
<li>Land a PR enabling <code>-j1</code> by default and adding <code>RUSTC_PARALLEL</code> env var</li>
<li>Blog post laying out the plan</li>
</ul>



<a name="163015199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015199">(Apr 10 2019 at 15:28)</a>:</h4>
<p>sounds good</p>



<a name="163015334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015334">(Apr 10 2019 at 15:30)</a>:</h4>
<p>so what were the criteria again, did we settle on them?</p>



<a name="163015388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015388">(Apr 10 2019 at 15:30)</a>:</h4>
<p>I would say "&lt;5% or &lt;5s compile time regression" for making <code>-j1</code> the default</p>



<a name="163015396"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015396" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015396">(Apr 10 2019 at 15:31)</a>:</h4>
<p>(on perf.r-l.o benchmarks)</p>



<a name="163015423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015423">(Apr 10 2019 at 15:31)</a>:</h4>
<p>5s is..probably fine, maybe a bit higher</p>



<a name="163015429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015429">(Apr 10 2019 at 15:31)</a>:</h4>
<p>5s seems a bit much for small crates</p>



<a name="163015438"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015438" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015438">(Apr 10 2019 at 15:31)</a>:</h4>
<p>sorry, I meant, maybe a bit higher than I would like</p>



<a name="163015440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015440">(Apr 10 2019 at 15:31)</a>:</h4>
<p>heh we're the ones both making the rules and following them so we can of course tweak :)</p>



<a name="163015485"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015485" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015485">(Apr 10 2019 at 15:32)</a>:</h4>
<p>1s?</p>



<a name="163015514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015514">(Apr 10 2019 at 15:32)</a>:</h4>
<p>I was going to suggest 1s</p>



<a name="163015526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015526">(Apr 10 2019 at 15:32)</a>:</h4>
<p>I have no idea how that comports with the existing numbers :)</p>



<a name="163015540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015540">(Apr 10 2019 at 15:32)</a>:</h4>
<p>we can also play it by ear and tweak if that feels wrong</p>



<a name="163015548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015548">(Apr 10 2019 at 15:32)</a>:</h4>
<p>we'll know if it feels right nonetheless</p>



<a name="163015560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015560">(Apr 10 2019 at 15:32)</a>:</h4>
<p>In terms of the criteria for whether to "go forward" or "revert" during the experimental period, I'd be inclined to use the same thresholds, but for <em>any</em> known crate? Is that too strict?</p>



<a name="163015571"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015571" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015571">(Apr 10 2019 at 15:33)</a>:</h4>
<blockquote>
<p>we can also play it by ear and tweak if that feels wrong</p>
</blockquote>
<p>yes, I think it's ok</p>



<a name="163015601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015601">(Apr 10 2019 at 15:33)</a>:</h4>
<p>ok</p>



<a name="163015602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015602">(Apr 10 2019 at 15:33)</a>:</h4>
<p>I would be stricter to turn on parallel by default</p>



<a name="163015620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015620">(Apr 10 2019 at 15:33)</a>:</h4>
<p>we can make various teams sign off on it once we have numbers</p>



<a name="163015626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015626">(Apr 10 2019 at 15:33)</a>:</h4>
<p>something like "at least 10% average improvement across known crates"</p>



<a name="163015792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015792">(Apr 10 2019 at 15:35)</a>:</h4>
<p>do we have a list of PRs we want to land before checking for the first time?</p>



<a name="163015793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163015793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163015793">(Apr 10 2019 at 15:35)</a>:</h4>
<p>5% might be a bit low. I'd rather have it on right now. Given the significant speedups to the slowest cases</p>



<a name="163016114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016114">(Apr 10 2019 at 15:38)</a>:</h4>
<p>/me has to run soon</p>



<a name="163016195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016195">(Apr 10 2019 at 15:39)</a>:</h4>
<p>yeah, me too</p>



<a name="163016291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016291">(Apr 10 2019 at 15:40)</a>:</h4>
<blockquote>
<p>5% might be a bit low. I'd rather have it on right now. Given the significant speedups to the slowest cases</p>
</blockquote>
<p>yeah, this might be true. Let's say 5-10% and use our best judgement :)</p>



<a name="163016311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016311">(Apr 10 2019 at 15:40)</a>:</h4>
<blockquote>
<p>something like "at least 10% average improvement across known crates"</p>
</blockquote>
<p>this is a good idea to establish something here too</p>



<a name="163016545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016545">(Apr 10 2019 at 15:43)</a>:</h4>
<p>I'd rather just turn it on on nightly right now and let it ride to beta if we get the -Z thread=1 case &lt;5%</p>



<a name="163016627"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016627" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016627">(Apr 10 2019 at 15:44)</a>:</h4>
<p>It doesn't really matter if nightly is a bit slower for a bit</p>



<a name="163016716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016716">(Apr 10 2019 at 15:45)</a>:</h4>
<p>Yes, I'd say we wait for the promising PRs to land, measure, and <em>probably</em> turn it on, unless something is really slow</p>



<a name="163016882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016882">(Apr 10 2019 at 15:47)</a>:</h4>
<p>Nothing is really slow right now though. We'd have to turn it on and ask people to find such cases</p>



<a name="163016919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163016919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163016919">(Apr 10 2019 at 15:48)</a>:</h4>
<p>Yes, I'd be fine with the current state. I just would want to make sure the changes in the meantime didn't regress anything</p>



<a name="163017037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163017037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163017037">(Apr 10 2019 at 15:49)</a>:</h4>
<p>OK, I have to go</p>



<a name="163017049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163017049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163017049">(Apr 10 2019 at 15:49)</a>:</h4>
<p>I think we made a lot of progress :)</p>



<a name="163017062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163017062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163017062">(Apr 10 2019 at 15:49)</a>:</h4>
<p><span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="163019337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163019337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163019337">(Apr 10 2019 at 16:15)</a>:</h4>
<p>here is my attempt to summarize the plan:</p>
<p><a href="https://gist.github.com/nikomatsakis/4263d4f55ff290c7c46993035dbeb091" target="_blank" title="https://gist.github.com/nikomatsakis/4263d4f55ff290c7c46993035dbeb091">https://gist.github.com/nikomatsakis/4263d4f55ff290c7c46993035dbeb091</a></p>
<p><span class="user-mention" data-user-id="116466">@Zoxc</span>, <span class="user-mention" data-user-id="124287">@mw</span> , <span class="user-mention" data-user-id="116015">@Alex Crichton</span> can y'all give it a look?</p>



<a name="163019635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163019635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163019635">(Apr 10 2019 at 16:18)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> that looks great!</p>



<a name="163019672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163019672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Crichton <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163019672">(Apr 10 2019 at 16:19)</a>:</h4>
<blockquote>
<p>Question: Do we also require an average improvement of some % to be reported? On which tests?</p>
</blockquote>
<p>I would argue "no" in that we already have clear data that we're going to see some great improvements, so part of the testing period for parallel-on-by-default will be to ensure that we achieve this goal of "the average user reports improvement"</p>



<a name="163019744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163019744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163019744">(Apr 10 2019 at 16:20)</a>:</h4>
<p>catched up with all the scrollback :D</p>



<a name="163019754"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163019754" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163019754">(Apr 10 2019 at 16:20)</a>:</h4>
<p>I probably miss a thing, do you plan to experiment only on nightly or also stable?</p>



<a name="163020033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163020033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163020033">(Apr 10 2019 at 16:24)</a>:</h4>
<p><span class="user-mention" data-user-id="121055">@Pietro Albini</span> Turn it on on nightly and let it ride to stable, unless problems appear</p>



<a name="163020078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163020078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163020078">(Apr 10 2019 at 16:24)</a>:</h4>
<p>hmm, can we afford to do the whole experimentation on nightly?</p>



<a name="163020098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163020098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163020098">(Apr 10 2019 at 16:25)</a>:</h4>
<p>not feeling too strong about this, but experimenting on stable just sounds wrong</p>



<a name="163020130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163020130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163020130">(Apr 10 2019 at 16:25)</a>:</h4>
<p>even though if it rides the trains without any issue is probably fine</p>



<a name="163020228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163020228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Zoxc <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163020228">(Apr 10 2019 at 16:26)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span>  That should probably say 1:1 core to thread ratio instead of 50% of cores =P</p>



<a name="163020336"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163020336" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163020336">(Apr 10 2019 at 16:28)</a>:</h4>
<blockquote>
<p>not feeling too strong about this, but experimenting on stable just sounds wrong</p>
</blockquote>
<p>it's not so much that we are <em>experimenting</em> on stable I don't thikn</p>



<a name="163020839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163020839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163020839">(Apr 10 2019 at 16:32)</a>:</h4>
<p>hmm, yeah, I don't feel too strongly on this :)</p>



<a name="163021288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163021288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163021288">(Apr 10 2019 at 16:38)</a>:</h4>
<p>it was mostly that we'd let it ride the trains -- but the "active experiment" is on nightly</p>



<a name="163021307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163021307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163021307">(Apr 10 2019 at 16:38)</a>:</h4>
<p>in other words, if the "opt-out" variant is a success, then it rides the trains, but the active experiment is now the <em>opt-in</em> variant (which is on nightly)</p>



<a name="163021350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163021350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163021350">(Apr 10 2019 at 16:39)</a>:</h4>
<p>(I also don't feel <em>that</em> strongly, I just wasn't crazy about having us change things just before beta branches if we don't have to)</p>



<a name="163021391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163021391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163021391">(Apr 10 2019 at 16:39)</a>:</h4>
<p>I'm fine with this riding the trains -- we're basically not changing behavior beyond maybe speed; and presumably in some future we'd never make backwards-incompatible changes to these env variables or flags</p>



<a name="163021408"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163021408" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163021408">(Apr 10 2019 at 16:40)</a>:</h4>
<p>(We could stop using them, but that's not a breaking change)</p>



<a name="163021491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163021491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163021491">(Apr 10 2019 at 16:40)</a>:</h4>
<p>Right. One nice thing about it riding the trains is</p>



<a name="163021495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163021495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163021495">(Apr 10 2019 at 16:40)</a>:</h4>
<p>if it's working well for you</p>



<a name="163021499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163021499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163021499">(Apr 10 2019 at 16:40)</a>:</h4>
<p>you can start using it sooner :)</p>



<a name="163569450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163569450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163569450">(Apr 17 2019 at 15:08)</a>:</h4>
<p>that plan looks good, <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="163569493"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163569493" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163569493">(Apr 17 2019 at 15:09)</a>:</h4>
<p>I think we'll want people to report what kind of CPU they have</p>



<a name="163569540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163569540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163569540">(Apr 17 2019 at 15:09)</a>:</h4>
<p>i.e. core count, hyperthreading, maybe model</p>



<a name="163569673"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163569673" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163569673">(Apr 17 2019 at 15:10)</a>:</h4>
<p>it makes a difference if I'm using all cores on a 8/16 core machine vs a 2/4 core machine</p>



<a name="163572917"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163572917" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163572917">(Apr 17 2019 at 15:42)</a>:</h4>
<p><span class="user-mention" data-user-id="124287">@mw</span> I think if we want that it would be good to figure out how to get it out programmatically and give them a script (ideally like bash, perhaps) to run</p>



<a name="163572941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163572941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163572941">(Apr 17 2019 at 15:43)</a>:</h4>
<p>that way we get fairly uniform stats</p>



<a name="163635663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/187679-t-compiler/wg-parallel-rustc/topic/sync%202019.04.10/near/163635663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mw <a href="https://rust-lang.github.io/zulip_archive/stream/187679-t-compiler/wg-parallel-rustc/topic/sync.202019.2E04.2E10.html#163635663">(Apr 18 2019 at 09:37)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> yes that would be perfect</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>